import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

// const moduleA = {
//   state: {
//     count: 12
//   },
//   mutations: {
//     add(state, num) {
//       state.count += num;
//     },
//     reduce(state) {
//       state.count--;
//     }
//   },
//   actions: {
//     addAction(context, num) {
//       setTimeout(() => {
//         context.commit('add', num);
//       }, 1000);
//       console.log('我先执行了');
//     },
//     reduceAction({
//       commit
//     }) {
//       commit('reduce')
//     }
//   },
//   getters: {
//     count: function (state) {
//       return state.count += 1000;
//     }
//   }
// }

// const moduleB = {
//   state:{
//     count:123,
//   }
// }

// export default new Vuex.Store({
//   modules:{
//     a:moduleA,
//     b:moduleB
//   }
// })
export default new Vuex.Store({
  state: {
    count: 12
  },
  mutations: {
    add(state, num) {
      state.count += num;
    },
    reduce(state) {
      state.count--;
    }
  },
  actions: {
    addAction(context, num) {
      setTimeout(() => {
        context.commit('add', num);
      }, 1000);
      console.log('我先执行了');
    },
    reduceAction({
      commit
    }) {
      commit('reduce')
    }
  },
  getters: {
    count: function (state) {
      return state.count += 1000;
    }
  }
})